import frida
import sys


# Application(identifier="today.tophub.app", name="今日热榜", pid=15873, parameters={})
rdev = frida.get_remote_device()
# rdev = frida.get_usb_device()
session = rdev.attach("今日热榜")

scr = '''
Java.perform(function () {
    var k = Java.use('com.blankj.utilcode.util.k'); // 替换为实际的类路径
    k.$init.overload('java.lang.String', 'int').implementation = function(str, i2) {
    console.log('private k(String str, int i2) hooked');
    console.log('调用原始函数 k()，参数为str: ' + str);
    console.log('调用原始函数 k()，参数为i2: ' + i2);
    //console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new()));
    
    // 在这里添加你想要执行的代码
    return this.$init(str, i2);
  };
    
    k.f.implementation = function(str, i2) {
    console.log('调用原始函数 f()，参数为str: ' + str);
    console.log('调用原始函数 f()，参数为i2: ' + i2);
    var res = this.f(str, i2)
    // 在这里添加你想要执行的代码
    console.log('res，参数为res: ' + res);
    return this.f(str, i2);
    };

});
'''

script = session.create_script(scr)


def on_message(message, data):
    print(message, data)


script.on("message", on_message)

script.load()
sys.stdin.read()


